In digital modem links, a clock recovery mechanism is always required to sample the received signal for further digital signal processing, in order to demodulate the signal and extract the transmitted data therefrom. Some conventional clock recovery mechanisms operate at several samples per symbol. However, operating at several samples per symbol is more complicated and requires more processing.
One of the most popular mechanisms that operate at one sample per symbol uses the well-known Mueller and Muller algorithm.
Classic Mueller and Muller Algorithm
Assuming that the transmitted signal is given by:y(t)=Σkak·δ(t−k·Tsym)  [Eq. 1]wherean—is the transmitted symbol.h(t)—is the overall impulse response from transmitter (before DAC) to receiver (after ADC).Tsym—is the baud (symbols/Sec) interval (given in Sec)τ—is the timing offset between the baud instance and the ADC sampling instance (given in Sec).
The received signal (before sampling and neglecting additive noise terms) could be written as:r(t)=y(t)*h(t)  [Eq. 2]r(t)=Σkak·h(t−k·Tsym)  [Eq. 3]
Assuming that the ADC sampling rate is correct (i.e., is equal to the baud rate) but with timing phase offset of τ sec, the received sampled signal can be written as:rn=r(t=n·Tsym+τ)  [Eq. 4]rn=Σkak·h(n·Tsym+τ−k·Tsym)  [Eq. 5]
The classic Mueller and Muller timing error signal is based on the following equation:zn=rn·an-1−rn-1·an  [Eq. 6]
It can be seen that the received sample value rn (which is available) and the data symbol value an (which is usually not available) must be provided, in order to construct the timing error signal.
To show that the output, zk, includes the timing error information (τ), the expectation of the output (zk) will be calculated:zn=rn·an-1−rn-1·an  [Eq. 7]
Here, the data symbols an are generated by using a regular slicer.
                                          z            n                    =                                                    (                                                      ∑                    k                                    ⁢                                                            a                      k                                        ·                                          h                      ⁡                                              (                                                  τ                          +                                                      nT                            sym                                                    -                                                      kT                            sym                                                                          )                                                                                            )                            ·                              a                                  n                  -                  1                                                      -                                          (                                                      ∑                    k                                    ⁢                                                            a                      k                                        ·                                          h                      ⁡                                              (                                                  τ                          +                                                                                    (                                                              n                                -                                1                                                            )                                                        ⁢                                                          T                              sym                                                                                -                                                      kT                            sym                                                                          )                                                                                            )                            ·                              a                n                                                    ⁢                                  ⁢                              z            n                    =                                    (                                                                    a                                          n                      -                      1                                        2                                    ·                                      h                    ⁡                                          (                                              τ                        +                                                  T                          sym                                                                    )                                                                      +                                                      ∑                                          k                      ≠                                              n                        -                        1                                                                              ⁢                                                            a                      k                                        ·                                          a                                              n                        -                        1                                                              ·                                          h                      ⁡                                              (                                                  τ                          +                                                      nT                            sym                                                    -                                                      kT                            sym                                                                          )                                                                                                        )                        -                          (                                                                    a                    n                    2                                    ·                                      h                    ⁡                                          (                                              τ                        -                                                  T                          sym                                                                    )                                                                      +                                                      ∑                                          k                      ≠                      n                                                        ⁢                                                            a                      k                                        ·                                          a                      n                                        ·                                          h                      ⁡                                              (                                                  τ                          +                                                                                    (                                                              n                                -                                1                                                            )                                                        ⁢                                                          T                              sym                                                                                -                                                      kT                            sym                                                                          )                                                                                                        )                                                          [                  Eq          .                                          ⁢          8                ]            
Performing the expectation:E[zn]=E[an-12]·h(τ+Tsym)−E[an2]·h(τ−Tsym)  [Eq. 9]where all the elements in the summations were zeroed, due to the expectation under the assumption that different symbols are independent and identically distributed:E[an·ak]=E[an]·E[ak]=0·0=0  [Eq. 10]
Therefore, the expectation is given by:E[zn]=σa2·(h(τ+Tsym)−h(τ−Tsym))  [Eq. 11]And the function (h(τ+Tsym)−h(τ−Tsym)) is an odd function.
For example, assuming that the channel impulse response is as illustrated in FIG. 1,
The timing error function (h(τ+Tsym)−h(τ−Tsym)) would be in the form illustrated in FIG. 2, which is odd. It is clear from FIG. 2 that near the axis origin, the output includes the timing error information.
The problem with the classic Mueller and Muller algorithm is that it requires that the data symbols will be given. However, these symbols are not available at the receiver, as it is required to demodulate the received signal and extract the data symbols. If the channel impulse response is narrower than the baud interval, it is possible to use a simple slicer to extract the data symbols, assuming an eye opening in an eye diagram is available (an eye diagram, a display in which a digital data signal from a receiver is repetitively sampled and applied to the vertical input, while the data rate is used to trigger the horizontal sweep. It is used as a tool for the evaluation of the combined effects of channel noise and Inter-Symbol Interference on the performance of a baseband pulse-transmission system. An open eye pattern corresponds to minimal signal distortion. Distortion of the signal waveform due to inter-symbol interference and noise appears as closure of the eye).
In case where the channel impulse response is wider than the baud interval, the eye is closed and a simple slicer would cause too many errors that will not enable the Classic Mueller and Muller algorithm to work properly.
FIG. 3a illustrates a PAM-4 (4-level Pulse Amplitude Modulation) example, in which the eye opening for a narrow channel impulse response is shown. FIG. 3a shows that it is possible to distinguish between 4 PAM levels). However, FIG. 3b shows that for a wider channel impulse response, the eye has been closed and therefore, it would be impossible to distinguish between 4 discrete levels.
In many communication channels, including optical fiber channel with reduced bandwidth optoelectronic components (such as an optical modulator and demodulator, electronic driver and post amplifier), the impulse response of the channel would be wider than the baud interval and the eye would be closed. Consequently, it is not possible to place a simple slicer for extracting the data symbols for the classic Mueller and Muller algorithm.
It is therefore an object of the present invention to provide a method for digital clock timing recovery of heavily ISI-induced signals in digital modem links, while operating at one sample per symbol.
It is another object of the present invention to provide a method for recovering the digital clock timing, while reducing the complexity of the required hardware.
Other objects and advantages of the invention will become apparent as the description proceeds.